package com.yowasa.xiuxian.entity.bot.message;

import lombok.Data;

import java.util.List;

@Data
public class MessageKeyboard {
    private String id;
    private List<InlineKeyboard> content;

    @Data
    public static class InlineKeyboard {
        //行
        private List<InlineKeyboardRow> rows;
    }

    @Data
    public static class InlineKeyboardRow {
        //按钮
        private List<Button> buttons;
    }

    @Data
    public static class Button {
        private int id;
        //按纽渲染展示对象
        private RenderData renderData;
        //该按纽操作相关字段
        private Action action;
    }

    @Data
    public static class RenderData {
        //按钮文字
        private String label;
        //点击后按钮上的文字
        private String visitedLabel;
        //0-灰色 1-蓝色
        private int style;

    }

    @Data
    public static class Action {
        //操作类型 0-http或萧承煦 1-回调本地 2-at机器人并发送指定指令
        private int type;
        //用于设定操作按钮所需的权限
        private Permission permission;
        //可点击的次数, 默认不限
        private String clickLimit;
        //按钮文字
        private String data;
        //false:不弹出子频道选择器 true:弹出子频道选择器
        private Boolean atBotShowChannelList;

    }

    @Data
    public static class Permission {
        //0-指定用户可操作 1-仅管理者可操作 2-所有人可操作 3-指定身份组可操作
        private int type;
        //有权限的身份组id的列表
        private List<String> specifyRoleIds;
        //有权限的用户id的列表
        private List<String> specifyUserIds;
    }
}
